{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 决策树简介"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcwAAAFmCAYAAADgXKoOAAAgAElEQVR4nOzdd1gVx9fA8S9NEVCR2LvYu0aNxhosGBUrauzdaIiJ3dgbaqImttgbKDGxxAYqil2MXbFgwa4oUqRLL/P+wcv9hQCKClzA83mePJHdmdmzSzl3Z2dndJRSCiGEEEK8la62AxBCCCGyA0mYQgghRBpIwhRCCCHSQBKmEEIIkQYflTBv376dXnEIIYQQWZr++xSOjIxk6dKlGBkZ0a1bN86dO0f16tUzKjYhhBAiy9B5n9dKTpw4wbNnzxg8eHBGxiSEEEJkOe+VMIUQQohPlQz6EUIIIdJAEqYQQgiRBpIwhRBCiDR4r1GyQmQnkZGR6Ovro6+vT2RkJACGhoZajiqp2NhYYmJi3quOoaEhOjo6GRSRECI1kjCzmMDAQHbv3s2lS5cy/FhmZmb0798fpRQrVqx4a9kqVarQtm3bDI8pNTdv3uTkyZPvVefPP/+kbt26VK1ale3bt2u2lStXTlPG3d2d48ePp2us78Pd3Z3z58+/V51+/fqRJ0+eNJevXr06ffr0oVChQu8bnhDiX2SUbBbi7++PtbU1p0+f1nYoIoeZP38+U6dO1XYYQmRrkjCzkLNnz9KsWTOAJF1uqX2LdHR0Ut2XWrm01Plv+bfFkJnSoxsyLddS292dHTp0oHz58qnu37hxI+Hh4WluTylFhQoVePDgQXqEJ8QnS7pksyAzMzP8/f0BiI6OZt26dcnK1K5dm+bNm+Po6MizZ89SbSt37tx06tSJXbt2YWBggLW1taZ7MjUDBgxg69atAIwcORIDAwP27t3LpEmTNGWGDRuGkZERf//9N23atMHR0VHTvfv7779rypmYmGBpacmePXswMjJi2LBh73UtEtWsWZOvvvrqg+omCgoKwsHBIdl2IyMj2rVrx+7du8mdOzfffvvtRx0noy1btizNZU+dOoWFhQUhISEZGJEQnwa5w8xCEu8wBw0ahJ2dnbbDETlAYsIsXLgwPj4+2g5HiGxNXivJglxdXbUdghBCiP+QhJkFBQYGajsEIYQQ/yEJUwghhEgDSZhCCCFEGkjCFEKIdODm5qbtEEQGk4SZBX399dfaDkEI8Z7q1q2r7RBEBpOEmQXJJ1UhhMh6JGFmQfK+nEgvenp66OrKr7kQ6UF+k4TIwZo1a0aNGjW0HYYQOYIkTCGEECINJGEKkYNduHCBe/fuaTsMIXIESZhC5GCNGjWiSpUq2g5DiBxBEqYQQgiRBpIwsxBZOEYIIbIuSZhZSOI6kqNHj9ZyJCKniIiIICoqivz582s7FCGyPUmYQuRgFy9exMPDg0GDBmk7FCGyPUmYQgghRBpIwhRCCCHSQBJmFlKiRAlthyCEECIVkjCzEGtra22HIIQQIhWSMLMQe3t7bYcghBAiFZIws5C2bdtqOwQhhBCpkISZhezatUvbIYhs4sKFC7IMnBCZTBJmFpIrVy5thyCyiU2bNnH//n1thyHEJ0USZhYycuTI967z8OFDPD0937tefHw8d+7c0XwdGRnJw4cP37udD3X79u0PqrdixQpcXFyIi4tLU/nr168zZ84coqKiPuh4AA8ePODly5ep7n/58iVBQUHJtsfGxnLt2jXevHmT5mNFR0dja2vLokWL3nqOY8eOpVmzZmluVwjx8SRhZjPBwcH07duXM2fOAPDjjz/y888/AzB16lSOHDmSat1OnTqxfPlyIOEPc/369fnrr78A8PT0pEGDBjx79izFusOGDcPOzi7JtgcPHrwzXh8fH5o3b86jR4802w4fPoyFhUWqdUJCQvj777+5fv16sn0nT55kxIgRDB8+nHXr1r312HFxcUyaNIm1a9cSGBj41rK3bt2iefPmhIaGJts3fPhwli1blmrdpUuX8v333yfbvnnzZurVq8fNmzdTrauUwsrKilevXgHg7e3NzJkzWbNmDdHR0anWq1at2ttORwiRASRhZiFXr159Z5kXL17w559/8vTpUx4/fsyJEyc0+wwNDenWrRuurq4p1r18+bIm6eXOnRtra2vmzp1LUFAQmzZt4rPPPiNPnjwp1nVzc+P58+dJti1evJgWLVrw22+/UaJECZo2bZrsTuuff/7h7NmzhIeHa7b5+vq+9e7pxYsX9OjRg61bt6a4v1WrVnTo0IExY8Zw7dq1VNu5ePEiR48eZdmyZZiamhIVFcWlS5eIiYlJVjYkJARXV1diY2OBhASa+KEkLby8vFLcVqNGDT7//PO31n316hXt27fH399fs61Nmzapfi+EENohCTML+eeff95ZJjFBNm3alLi4OKKiojAzMwPA0tKSuLi4JF2t/zZr1iy6du0KJNwdRkVFERkZyd27dzlw4AAVK1ZkxowZ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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "&emsp;&emsp;他的概念非常简单，可以通过简单的图形了解其工作原理：\n",
    "- （1）正方形代表判断模块；\n",
    "- （2）椭圆形代表终止模块，表示已经得出结论，可以终止运行；\n",
    "- （3）左右箭头称作分支，它可以到达另一个判断模块或终止模块；  \n",
    "    k-近邻算法可以完成许多分类任务，但他最大的缺点就是无法给出数据内在的含义，决策树主要的优势在于数据形式非常容易理解；\n",
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "***\n",
    "# 决策树的构造"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- 优点：计算复杂度不高，输出结果易于理解，对中间值的缺失不敏感，可以处理不相关特征数据；\n",
    "- 缺点：可能会产生过度匹配问题；\n",
    "- 适用数据类型：数值型和标称型；"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 决策树一般流程"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- （1）收集数据；\n",
    "- （2）准备数据：树构造算法只适用于标称型数据，因此数值型数据必须离散化；\n",
    "- （3）分析数据：构造树完成后，检查图形是否符合预期；\n",
    "- （4）训练算法：构造树的数据结构；\n",
    "- （5）测试算法：使用经验树计算错误率；\n",
    "- （6）使用算法：适用于任何监督学习算法；"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "下图数据包含5个海洋生物，特征包括：不浮出水面是否可以生存；以及是否有蹼。可以将这些动物分为两类：鱼类和非鱼类。现在想要决定依据第一个特征还是第二个特征划分数据。必须采用量化的方法判断如何划分数据。\n",
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 信息增益"
   ]
  },
  {
   "attachments": {
    "image-2.png": {
     "image/png": "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"
    },
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "&emsp;&emsp;在划分数据之前之后信息发生的变化称为信息增益，知道如何计算信息增益，我们就能计算每个特征值划分数据集获得的信息增益，获得信息增益最高的特征就是最好的选择。  \n",
    "&emsp;&emsp;集合信息的度量方式称为香农熵或者简称为熵。  \n",
    "&emsp;&emsp;熵定义为信息的期望值，在明晰这个概念之前，必须知道信息的定义。如果待分类事务可能划分在多个分类中，则符号xi的信息定义为：\n",
    "![image.png](attachment:image.png)\n",
    "其中p(xi)是选择该分类的概率。  \n",
    "&emsp;&emsp;为了计算熵，需要计算所有分类所有可能值包含的信息期望值，公式如下：\n",
    "![image-2.png](attachment:image-2.png)\n",
    "其中n是分类的数目。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "#计算给定数据集的香农熵\n",
    "import numpy as np\n",
    "from math import log\n",
    "\n",
    "def calcShannonEnt(dataSet):\n",
    "    #数据集中实例的总数\n",
    "    numEntries=len(dataSet)\n",
    "    #创建数据字典\n",
    "    labelCounts={}\n",
    "    for featVec in dataSet:\n",
    "        #将最后一列的数值作为键值\n",
    "        currentLabel=featVec[-1]\n",
    "        if currentLabel not in labelCounts.keys():\n",
    "            labelCounts[currentLabel]=0\n",
    "        labelCounts[currentLabel]+=1\n",
    "    #香农熵\n",
    "    shannonEnt=0.0\n",
    "    for key in labelCounts:\n",
    "        #使用所有类标签发生的频率计算类别出现的概率\n",
    "        prob = float(labelCounts[key])/numEntries\n",
    "        shannonEnt-=prob*log(prob,2)\n",
    "    return shannonEnt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "#简单的鱼鉴定数据集\n",
    "def createDataSet():\n",
    "    dataSet=[[1,1,'yes'],\n",
    "            [1,1,'yes'],\n",
    "            [1,0,'no'],\n",
    "            [0,1,'no'],\n",
    "            [0,1,'no']]\n",
    "    labels=['no surfacing' , 'flippers']\n",
    "    return dataSet,labels"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9709505944546686"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#测试\n",
    "myDat,labels=createDataSet()\n",
    "calcShannonEnt(myDat)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "熵越高，则混合的数据也越多（度量数据集的无序程度）。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 划分数据集"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "&emsp;&emsp;分类算法除了需要测量信心熵，还需要划分数据集，度量花费数据集的熵，以便判断当前是否正确地划分了数据集。\n",
    "- （1）我们将对每个特征划分数据集的结果计算一次信息熵；\n",
    "- （2）然后判断按照哪个特征划分数据集是最好的划分方式；"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "#按照给定的特征划分数据集\n",
    "def splitDataSet(dataSet,axis,value):  #待划分的数据集、划分数据集的特征、特征的返回值\n",
    "    retDataSet=[]\n",
    "    #按照某个特征划分数据集时，就需要将所有符合要求的元素抽取出来\n",
    "    for featVec in dataSet:\n",
    "        #axis表示第几个特征，value则是特征返回的值\n",
    "        if featVec[axis] == value:\n",
    "            reducedFeatVec = featVec[:axis]\n",
    "            reducedFeatVec.extend(featVec[axis+1:])\n",
    "            retDataSet.append(reducedFeatVec)\n",
    "    return retDataSet"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1, 2, 3, [4, 5, 6]]\n",
      "[4, 5, 6, 7, 8, 9]\n"
     ]
    }
   ],
   "source": [
    "#extend（）和append（）的不同\n",
    "a=[1,2,3]\n",
    "b=[4,5,6]\n",
    "c=[7,8,9]\n",
    "a.append(b)\n",
    "print(a)\n",
    "b.extend(c)\n",
    "print(b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[1, 1, 'yes'], [1, 1, 'yes'], [1, 0, 'no'], [0, 1, 'no'], [0, 1, 'no']]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "myDat"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[1, 'yes'], [1, 'yes'], [0, 'no']]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#第一个特征判断结果是1，划分\n",
    "splitDataSet(myDat,0,1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[1, 'no'], [1, 'no']]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#第一个特征判断结果是0，划分\n",
    "splitDataSet(myDat,0,0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "#选择最好的数据集划分方式\n",
    "def chooseBestFeatureToSplit(dataSet):\n",
    "    #特征数减一为了更好地划分数据集\n",
    "    numFeatures=len(dataSet[0])-1\n",
    "    #基础熵\n",
    "    baseEntropy=calcShannonEnt(dataSet)\n",
    "    #最好的信息增益\n",
    "    bestInfoGain=0.0\n",
    "    #最好的特征划分\n",
    "    bestFeature=-1\n",
    "    \n",
    "    for i in range(numFeatures):\n",
    "        #创建唯一的分类标签列表\n",
    "        featList=[example[i] for example in dataSet] #将数据集中所有第i个特征值或者所有可能存在的值写入新list\n",
    "        uniqueVals=set(featList)\n",
    "        newEntropy=0.0  #新熵值\n",
    "        #计算每种划分方式的信息熵\n",
    "        for value in uniqueVals:\n",
    "            subDataSet = splitDataSet(dataSet,i,value)\n",
    "            prob=len(subDataSet)/float(len(dataSet)) #子集占比\n",
    "            newEntropy +=prob*calcShannonEnt(subDataSet)\n",
    "        #信息增益\n",
    "        infoGain = baseEntropy-newEntropy\n",
    "        #计算最好的信息增益\n",
    "        if (infoGain > bestInfoGain):\n",
    "            bestInfoGain=infoGain\n",
    "            bestFeature=i\n",
    "    return bestFeature  #返回最好特征划分的索引值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "chooseBestFeatureToSplit(myDat)\n",
    "#第一个特征是最好用于划分数据集的特征"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 递归构建决策树"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.5"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
